A proportional-integral-derivative controller (PID controller) is a generic control loop feedback mechanism widely used in industrial control systems. A PID controller attempts to correct the error between a measured process variable and a desired setpoint by calculating and then outputting a corrective action that can adjust the process accordingly.
An instability avoidance module that can be implemented in single-input single-output (SISO) PID control loops to automatically adjust the controller's tuning parameters when undesired oscillatory behavior is monitored is desirable in control engineering. The performance of PID controllers working in industrial processes is affected by process nonlinearities or changes in process operating conditions. This loss of performance can be in the form of sluggish behavior (slow response) or oscillatory behavior (either stable or unstable oscillations). Out of these two, oscillatory behavior is the most dangerous for the process integrity.
Adaptive or self-tuning tuning provides an automated way to correct tuning problems during on-line controller operation. Methods included in this category must detect an undesired situation and take a compensatory action. In the prior art, self-tuning strategies are based on identifying behavioral response patterns by using if-then rules. If oscillations indicate that tuning is more aggressive than desired, adjustments are made. This technology is available in commercial controllers. Its disadvantage, however, rests in the fact that it uses crisp rules. Therefore, uncertainty in the behavior identification procedure is not considered. Another disadvantage is the fact that PID parameter adjustments are made as a sole function of degree of oscillation without incorporating possible causes for the oscillation. In other words, the prior art systems and methods treat an oscillatory response the same way, all the time, regardless of the cause of the oscillation.
A long-felt but unfulfilled need addressed by the present invention is to provide a method that will identify the source of the nonlinear behavior, whether it is gain-related, time constant-related or deadtime-related, and adjust the PID controller accordingly.